package com.ruoyi.common.core.domain.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * 设备信息表
 * @TableName sys_device_info
 */
@Data
@TableName(value ="sys_device_info")
@ApiModel("设备信息模型")
public class SysDeviceInfo implements Serializable {

    @TableId(type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty("设备编号")
    private String deviceCode;

    @ApiModelProperty("设备名称")
    private String name;

    @ApiModelProperty("设备类型ID")
    private Integer deviceType;

    @ApiModelProperty("设备类型名称")
    @TableField(exist = false)
    private String deviceTypeName;

    @ApiModelProperty("设备厂商ID")
    private Integer vendorType;

    @ApiModelProperty("设备厂商名称")
    private String vendorName;

    @ApiModelProperty("负责人ID")
    private Integer manager;

    @ApiModelProperty("负责人姓名")
    private String managerName;

    @ApiModelProperty("联系电话")
    private String phone;

    @ApiModelProperty("设备经度")
    private String longitude;

    @ApiModelProperty("设备纬度")
    private String latitude;

    @ApiModelProperty("设备地址")
    private String address;

    @ApiModelProperty("设备ip")
    private String ip;

    @ApiModelProperty("设备端口")
    private Integer port;

    @ApiModelProperty("设备账号")
    private String account;

    @ApiModelProperty("设备密码")
    private String password;

    @ApiModelProperty("是否固定监测点设备(0:否；1：是)")
    private Integer fixed;

    @ApiModelProperty("是否平台设备(0:否；1：是)")
    private Integer platform;

    @ApiModelProperty("平台url")
    private String platformUrl;

    @ApiModelProperty("设备状态，0-停用，1-启用，2-删除")
    private Integer state;

    @ApiModelProperty("创建时间")
    private Date createdTime;

    @ApiModelProperty("更新时间")
    private Date updatedTime;

    @ApiModelProperty("设备长度")
    private String length;

    @ApiModelProperty("设备宽度")
    private String width;

    @ApiModelProperty("设备运行时间")
    private Date runTime;

    @TableField(exist = false)
    private SysBoatStatus sysBoatStatus;

    @TableField(exist = false)
    private SysBoatBattery sysBoatBattery;

    @TableField(exist = false)
    private List<SysBoatPollute> sysBoatPollute;

    @TableField(exist = false)
    private SysBoatWater sysBoatWater;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;
}